#ifndef PCG_LSYSTEM_H
#define PCG_LSYSTEM_H

/*!
@header L Systems
blah blah blah
@copyright James Callender
@updated 2007-02-25
*/

typedef char pcg_Lsymbol_t;

typedef struct {
	pcg_Lsymbol_t *symbols;
	int size;
} pcg_Lstring_t;

typedef struct _pcg_Lrule_t {
	pcg_Lsymbol_t match;
	pcg_Lstring_t *replace;
	float probabilty;
	
	_pcg_Lrule_t *next;
} pcg_Lrule;

typedef struct {
	pcg_Lrule_t *rules;
	pcg_Lstring_t *axiom;
} pcg_Lsystem_t;

#endif // PCG_LSYSTEM_H